% Autore: Morris Antonello
% Argomenti: breve descrizione di ciascuna servlet


\chapter{Espansione delle Funzionalità del Server Web}
\label{chServlet}

\section{Le Servlet}
\label{intro}

Le funzionalità del web server sono estese dalle seguenti servlet. Per ciascuna sono riportati l'URL, la corrispondente classe Java, i parametri d'ingresso, i parametri d'uscita e una breve descrizione. \'E altresì disponibile in allegato alla presente documentazione la documentazione \emph{JavaDoc} di tutte le classi qui citate, con la possibilità di visionare anche nel dettaglio i metodi ivi implementati.

\subsection{Lato Utente}
\label{subLatoUtente}

\begin{itemize}
\item \textbf{URL:} /cancellaPrenotazione
\begin{itemize}
\item \textbf{Classe Java:} CancellaPrenotazioneServlet
\item \textbf{Descrizione:} Cancella prenotazioni (non pagate).
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /confermaPrenotazioneOAcquisto
\begin{itemize}
\item \textbf{Classe Java:} ConfermaPrenotazioneOAcquistoServlet
\item \textbf{Descrizione:} Completa una prenotazione o acquisto.
\end{itemize}
 \end{itemize}

\begin{itemize}
\item \textbf{URL:} /invia-messaggio
\begin{itemize}
\item \textbf{Richiesta:} POST
\item \textbf{Classe Java:} CreateMessaggioServlet
\item \textbf{Parametri d'ingresso:} codiceEvento, id\_utente, text
\item \textbf{Descrizione:} Servlet per l'inserimento dei commenti nel db. Verifica che la lunghezza del commento sia maggiore di 0 e che l'utente sia loggato. Se l'utente e' loggato stampa in uscita il codice dell'evento associato, altrimenti il link alla pagina di login.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /crea-utente
\begin{itemize}
\item \textbf{Richiesta:} POST
\item \textbf{Classe Java:} CreateUtenteServlet
\item \textbf{Parametri d'ingresso:} String email, String password, String cognome, String nome, String codfiscale, String cartacredito, Boolean newsletter
\item \textbf{Descrizione:} Riceve tutti i parametri relativi ad un utente e lo inserisce nel database. In caso di corretto inserimento non ritorna nulla in uscita altrimenti ritorna un messaggio d'errore.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /getAbbonamentiUtente
\begin{itemize}
\item \textbf{Classe Java:} ElencaAbbonamentiUtenteServlet
\item \textbf{Descrizione:} Restituisce un elenco a scelta multipla contenente la lista degli abbonamenti di un cliente dato.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /elenca-nome-sedi-li
\begin{itemize}
\item \textbf{Richiesta:} GET
\item \textbf{Classe Java:} ElencaNomeSediServlet
\item \textbf{Descrizione:} Servlet che genera un elenco di tutte le sedi presenti nel database e le formatta perchè siano inserite in una unordered list. Ritorna i nomi delle sedi presenti nel database in un formato del tipo \verb|<li>nomeSede</li>|
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /getNomeCittaFromCodiceComune
\begin{itemize}
\item \textbf{Classe Java:} GetCittaFromCodiceComuneServlet
\item \textbf{Parametri d'ingresso:} codiceComune

\item \textbf{Descrizione:} Restituisce il nome di una citta dato il codiceComune.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /getDataOraSceltaMultipla
\begin{itemize}
\item \textbf{Classe Java:} GetDataOraSceltaMultiplaServlet


\item \textbf{Descrizione:} Restituisce un elenco a scelta multipla contenente date e ore, nonchè l'indicazione 2D o 3D, di un evento ed una sede dati.

\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /get-dettagli-sedi
\begin{itemize}
\item \textbf{Classe Java:} GetDettagliSediServlet


\item \textbf{Descrizione:} Restituisce i dettagli della sede utili nella pagina mappa/contatti: codice della sede, il nome, la via, le coordinate geografiche, il codice del comune, il numero di sale, il numero totale di posti, il telefono e l'email.
\end{itemize} 
\end{itemize}

\pagebreak

\begin{itemize}
\item \textbf{URL:} /elenca-poltrone-in-sala-td
\begin{itemize}
\item \textbf{Richiesta:} GET
\item \textbf{Classe Java:} GetElencoPoltroneInSalaServlet
\item \textbf{Parametri d'ingresso:} int id\_sala
Ritorna un output html del tipo
\begin{verbatim}
<td id="fila_numero" poltrona="true/false" onclick="change(this)"></td>
\end{verbatim}
\item \textbf{Descrizione:} Elenca le poltrone presenti in una sala ritornando una tabella formattata per consentire una rappresentazione grafica della sala.
\end{itemize}
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /elenca-sale-in-sede-option
\begin{itemize}
\item \textbf{Richiesta:} GET
\item \textbf{Classe Java:} GetElencoSaleInSedeServlet
\item \textbf{Parametri d'ingresso:} int codice\_sede
\begin{verbatim}
option sigla="siglaSala" value="idSala">nomeSala</option>
\end{verbatim}
\item \textbf{Descrizione:} Ritorna l'elenco delle sale in una sede dato il codice\_sede. Ritorna del codice html del tipo
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /getElencoFasce
\begin{itemize}
\item \textbf{Classe Java:} GetElencoTariffeServlet


\item \textbf{Descrizione:} Restituisce un elenco a scelta multipla di tariffe, solo 3D o solo 2D a seconda del parametro passato.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /get-eventiextra
\begin{itemize}
\item \textbf{Classe Java:} GetEventiExtraServlet
\item \textbf{Parametri d'ingresso:} codiceSede, per convenzione $-1$ sta per tutte le sedi.

\item \textbf{Descrizione:} Servlet per il caricamento della descrizione dell'evento extra, comprensiva di giorni e orari se la sede e' scelta, nella rispettiva pagina di programmazione.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /getEventiSceltaMultipla
\begin{itemize}
\item \textbf{Classe Java:} GetEventiSceltaMultiplaServlet


\item \textbf{Descrizione:} Restituisce un elenco a scelta multipla contenente la lista dei titoli degli eventi tenuti in una sede data.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /get-evento
\begin{itemize}
\item \textbf{Classe Java:} GetEventoServlet
\item \textbf{Parametri d'ingresso:} codiceEvento

\item \textbf{Descrizione:} Servlet per il caricamento dei dettagli di un evento, tra cui url del trailer e trama o descrizione, per la pagina scheda\_evento.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /get-messaggi
\begin{itemize}
\item \textbf{Classe Java:} GetMessaggiServlet
\item \textbf{Parametri d'ingresso:} codiceEvento

\item \textbf{Descrizione:} Servlet per il caricamento dei commenti/messaggi nella pagina scheda evento corrispondente.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /ottieniPosti
\begin{itemize}
\item \textbf{Classe Java:} GetPoltroneServlet


\item \textbf{Descrizione:} Restituisce un pezzo di tabella in html che mostra le poltrone della sala.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /getPrenotazioniUtente
\begin{itemize}
\item \textbf{Classe Java:} GetPrenotazioniValideUtenteServlet


\item \textbf{Descrizione:} Restituisce un array di array contenente i dettagli delle prenotazioni di un utente.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /get-programmazione
\begin{itemize}
\item \textbf{Classe Java:} GetProgrammazioneServlet
\item \textbf{Parametri d'ingresso:} codiceSede, $-1$ sta per tutte le sedi

\item \textbf{Descrizione:} Servlet per il caricamento della descrizione di un film nella rispettiva pagina di programmazione, inclusiva di date e orari se e' specificata la sede.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /getSaleSceltaMultipla
\begin{itemize}
\item \textbf{Classe Java:} GetSaleSceltaMultiplaServlet


\item \textbf{Descrizione:} Restituisce un elenco a scelta multipla contenente le sale di un evento, una sede e data e ora dati.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /getSediSceltaMultipla
\begin{itemize}
\item \textbf{Classe Java:} GetSediSceltaMultiplaServlet


\item \textbf{Descrizione:} Restituisce un elenco a scelta multipla contenente la lista dei nomi delle sedi.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /getUnicoSpettacolo
\begin{itemize}
\item \textbf{Classe Java:} GetUnicoSpettacoloFromPalinsestoESalaServlet


\item \textbf{Descrizione:} Servlet che restituisce il codice del primo Spettacolo associato ad un Palinsesto e ad una Sala dati (per prevenire eventuali errori).
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /image/*
\begin{itemize}
\item \textbf{Classe Java:} ImageServlet
\item \textbf{Parametri d'ingresso:} codiceEvento
 
\item \textbf{Descrizione:} Caricamento di un'immagine dal db, ad esempio una locandina.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /getMetodiPagamento
\begin{itemize}
\item \textbf{Classe Java:} ModalitaPagamentoServlet


\item \textbf{Descrizione:} Restituisce un elenco a scelta multipla contenente le modalità  di pagamento di una prenotazione.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /print-biglietti
\begin{itemize}
\item \textbf{Classe Java:} PrintBigliettiServlet


\item \textbf{Descrizione:}
\end{itemize} 
\end{itemize}

% Doppione realizzato da Morris
%\begin{itemize}
%\item \textbf{URL:} /print-image
%\begin{itemize}
%\item \textbf{Classe Java:} ShowEventImageServlet
%\item \textbf{Parametri d'ingresso:} codiceEvento
%\item \textbf{Parametri d'uscita:}
%\item \textbf{Descrizione:} Invia come risposta l'immagine salvata nel database per l'evento richiesto
%\end{itemize} 
%\end{itemize}

\begin{itemize}
\item \textbf{URL:} /slideshow
\begin{itemize}
\item \textbf{Classe Java:} SlideshowServlet


\item \textbf{Descrizione:} Servlet per passare allo slideshow il contenuto dell'array con i link alle locandine e alla corrispondente pagine di scheda dell'evento.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /update-utente
\begin{itemize}
\item \textbf{Richiesta:} POST
\item \textbf{Classe Java:} UpdateUtenteServlet
\item \textbf{Parametri d'ingresso:} int id\_utente, String email, String password (opzionale, solo se modificata), String cognome, String nome, String codfiscale, String cartacredito, Boolean newsletter
\item \textbf{Descrizione:} Aggiorna i dati di un utente. Non ritorna nulla se l'update va a buon fine, ritorna un messaggio d'errore nel caso l'utente non sia loggato o in caso di errori
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /verificaCartaCredito
\begin{itemize}
\item \textbf{Classe Java:} VerificaCartaCreditoServlet


\item \textbf{Descrizione:} Restituisce il numero intero 1 se il codice della carta di credito dato corrisponde con quello memorizzato nei dati dell'utente o non l'ha inserito in fase di registrazione, 0 altrimenti.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /verifica-mail-password
\begin{itemize}
\item \textbf{Richiesta:} POST
\item \textbf{Classe Java:} VerificaMailPasswordServlet
\item \textbf{Parametri d'ingresso:} String email, String password
\item \textbf{Descrizione:} Riceve mail e password di un utente e verifica corrispondano ad i dati memorizzati nel db. Non ritorna nulla se la verifica va a buon fine, altrimenti ritorna un messaggio d'errore.
\end{itemize} 
\end{itemize}

\subsection{Lato Amministrativo}
\label{subLatoAmministrativo}

\begin{itemize}
\item \textbf{URL:} /admin/getDatiProiettore
\begin{itemize}
\item \textbf{Classe Java:} ConcatenaDatiProiettoreServlet


\item \textbf{Descrizione:} Restituisce alcuni dati di un proiettore concatenati dal ;.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /admin/getDatiTariffaAbbonamento
\begin{itemize}
\item \textbf{Classe Java:} ConcatenaDatiTariffaAbbonamentoServlet
\item \textbf{Parametri d'ingresso:} il tipo \(di abbonamento\) in Listino

\item \textbf{Descrizione:} Restituisce alcuni dati di una tariffa per abbonamenti concatenati dal ;.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /admin/getDatiTariffaBiglietto
\begin{itemize}
\item \textbf{Classe Java:} ConcatenaDatiTariffaBigliettoServlet
\item \textbf{Parametri d'ingresso:} la fascia \(di biglietto\) in Tariffa

\item \textbf{Descrizione:} Restituisce alcuni dati di una tariffa per biglietti singoli concatenati dal ;.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /admin/getDatiTecnico
\begin{itemize}
\item \textbf{Classe Java:} ConcatenaDatiTecnicoServlet


\item \textbf{Descrizione:} Restituisce i dati di un tecnico concatenati dal ;.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /admin/creaTariffaAbbonamento
\begin{itemize}
\item \textbf{Classe Java:} CreateAbbonamentoInListinoServlet
\item \textbf{Parametri d'ingresso:} nome \(il tipo\), totaleIngressi, prezzoListino

\item \textbf{Descrizione:} Crea un'istanza di Listino, un tipo di abbonamento
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /admin/creaProiettore
\begin{itemize}
\item \textbf{Classe Java:} CreateProiettoreServlet


\item \textbf{Descrizione:} Crea una nuova istanza di Proiettore.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /admin/crea-nuova-sala
\begin{itemize}
\item \textbf{Richiesta:} POST
\item \textbf{Classe Java:} CreateSalaServlet
\item \textbf{Parametri d'ingresso:} String sigla, String nome, int totaleposti, int codicesede, String csvPoltrone
\item \textbf{Descrizione:} Riceve tutti i parametri necessari per identificare una sala e la inserisce nel database. È accessibile soltanto previo login di utente amministratore. Ritorna un messaggio di conferma o un messaggio che precisa l'errore avvenuto
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /admin/creaTariffaBiglietto
\begin{itemize}
\item \textbf{Classe Java:} CreateTariffaBigliettoServlet
\item \textbf{Parametri d'ingresso:} in3D, fascia, prezzoListino

\item \textbf{Descrizione:} Crea un'istanza di Tariffa, tariffa valida per un biglietto singolo.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /admin/creaTecnico
\begin{itemize}
\item \textbf{Classe Java:} CreateTecnicoServlet


\item \textbf{Descrizione:} Crea una nuova istanza di Tecnico.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /admin/elimina-sala
\begin{itemize}
\item \textbf{Richiesta:} GET
\item \textbf{Classe Java:} DeleteSalaServlet
\item \textbf{Parametri d'ingresso:} idsala
\item \textbf{Descrizione:} Elimina la sala indicata dall'idsala soltanto se la richiesta proviene da una sessione con privilegi di amministrazione. Restituisce un messaggio di conferma od errore
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /admin/deleteTariffaAbbonamento
\begin{itemize}
\item \textbf{Classe Java:} DeleteTariffaAbbonamentoServlet
\item \textbf{Parametri d'ingresso:} nome \(il tipo di abbonamento\)

\item \textbf{Descrizione:} Elimina un'istanza di Listino, cioe' un abbonamento.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /admin/deleteTariffaBiglietto
\begin{itemize}
\item \textbf{Classe Java:} DeleteTariffaBigliettoServlet
\item \textbf{Parametri d'ingresso:} fascia \(il tipo di biglietto singolo\)

\item \textbf{Descrizione:} Elimina un'istanza di Tariffa, tariffa valida per un biglietto singolo
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /admin/gestione-evento
\begin{itemize}
\item \textbf{Classe Java:} GestioneEventoServlet
\item \textbf{Parametri d'ingresso:} codiceEvento

\item \textbf{Descrizione:} Servlet a doppio uso.\\Metodo doGet per il caricamento dei dettagli di un evento per la pagina scheda\_evento in formato JSON. \\Metodo doPost per l'inserimento o aggiornamento di film o evento.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /admin/gestione-fornitore
\begin{itemize}
\item \textbf{Classe Java:} GestioneFornitoreServlet
 

\item \textbf{Descrizione:} Servlet a doppio uso.\\Metodo doGet per il caricamento dei dettagli di un fornitore per la pagina fornitore in formato JSON. \\Metodo doPost per l'inserimento o aggiornamento di un fornitore.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /admin/gestione-noleggio
\begin{itemize}
\item \textbf{Classe Java:} GestioneNoleggioServlet


\item \textbf{Descrizione:}  Servlet a doppio uso.\\Metodo doGet per il caricamento dei dettagli di un noleggio per la pagina gestione\_noleggi in formato JSON. \\Metodo doPost per l'inserimento o aggiornamento di un noleggio.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /admin/gestione-palinsesto
\begin{itemize}
\item \textbf{Classe Java:} GestionePalinsestoServlet


\item \textbf{Descrizione:} Servlet a doppio uso.\\Metodo doGet per il caricamento dei dettagli di un palinsesto per la pagina gestione\_palinsesto in formato JSON. \\Metodo doPost per l'inserimento o aggiornamento di un palinsesto.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /admin/gestione-spettacoli
\begin{itemize}
\item \textbf{Classe Java:} GestioneSpettacoloServlet


\item \textbf{Descrizione:} Servlet a doppio uso.\\Metodo doGet per il caricamento dei dettagli di uno spettacolo per la pagina spettacolo in formato JSON. \\Metodo doPost per l'inserimento o aggiornamento di uno spettacolo.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /admin/getCodFiscTecnici
\begin{itemize}
\item \textbf{Classe Java:} GetCodFiscTecniciSceltaMultiplaServlet


\item \textbf{Descrizione:} Restituisce un elenco a scelta multipla contenente i codici fiscali dei tecnici.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /admin/get-eventi-futuri
\begin{itemize}
\item \textbf{Classe Java:} GetEventiFuturiServlet


\item \textbf{Descrizione:} Servlet per il caricamento degli eventi futuri (ie. hanno una voce di palinsesto programmata in data > NOW()) in un select amministrativo
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /admin/get-fornitori
\begin{itemize}
\item \textbf{Classe Java:} GetFornitoriServlet


\item \textbf{Descrizione:} Servlet per il caricamento dei fornitori in un select amministrativo
\end{itemize} 
\end{itemize}

\pagebreak

\begin{itemize}
\item \textbf{URL:} /admin/get-noleggi
\begin{itemize}
\item \textbf{Classe Java:} GetNoleggiFilmServlet
\item \textbf{Parametri d'ingresso:} codiceFilm

\item \textbf{Descrizione:} Servlet per il caricamento dei noleggi di un film in ambiente amministrativo
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /admin/getNomiTariffeAbbonamenti
\begin{itemize}
\item \textbf{Classe Java:} GetNomiTariffeAbbonamentiSceltaMultiplaServlet


\item \textbf{Descrizione:} Restituisce un elenco a scelta multipla contenente i nomi degli abbonamenti.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /admin/getNomiTariffe
\begin{itemize}
\item \textbf{Classe Java:} GetNomiTariffeBigliettiSceltaMultiplaServlet


\item \textbf{Descrizione:} Restituisce un elenco a scelta multipla contenente i nomi delle tariffe per i biglietti.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /admin/get-ultimi-eventi
\begin{itemize}
\item \textbf{Classe Java:} GetNuoviEventiServlet


\item \textbf{Descrizione:} Servlet per il caricamento dei nuovi eventi in un select amministrativo
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /admin/get-palinsesto-attuale-per-sede
\begin{itemize}
\item \textbf{Classe Java:} GetPalinsestiPerSedeServlet
\item \textbf{Parametri d'ingresso:} codiceSede, codiceEvento

\item \textbf{Descrizione:} Servlet per il caricamento del palinsesto attuale di un evento in una data sede in ambiente amministrativo.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /admin/get-palinsesto-attuale
\begin{itemize}
\item \textbf{Classe Java:} GetPalinsestiServlet
\item \textbf{Parametri d'ingresso:} codiceEvento

\item \textbf{Descrizione:} Servlet per il caricamento del palinsesto attuale di un evento in ambiente amministrativo
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /admin/proiettori-da-manutendere-li
\begin{itemize}
\item \textbf{Richiesta:} GET
\item \textbf{Classe Java:} GetProiettoriDaManutendereServlet

\item \textbf{Descrizione:} Restituisce i proiettori che a breve (10 ore di attività ) necessiteranno di manutenzione. Se non sono presenti proiettori da manutendere non ritorna nulla, altrimenti ritorna del codice html debitamente formattato riportante modello, seriale ed idSala relativi ai proiettori che richiedono attenzione
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /admin/get-proiettori
\begin{itemize}
\item \textbf{Classe Java:} GetProiettoriServlet
\item \textbf{Parametri d'ingresso:} in3d, codiceSala

\item \textbf{Descrizione:} Restituisce un elenco json contenente i proiettori, filtrandoli per 3d o 2d.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /admin/getSaleConSede
\begin{itemize}
\item \textbf{Classe Java:} GetSaleConNomeSedeSceltaMultiplaServlet


\item \textbf{Descrizione:} Restituisce un elenco a scelta multipla contenente le sale e relative sedi.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /admin/getSerialiProiettori
\begin{itemize}
\item \textbf{Classe Java:} GetSerialiProiettoriSceltaMultiplaServlet


\item \textbf{Descrizione:} Restituisce un elenco a scelta multipla contenente i codici seriali dei proiettori.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /admin/get-spettacoli-per-palinsesto-e-sede
\begin{itemize}
\item \textbf{Classe Java:} GetSpettacoliPerPalinsestoESedeServlet 
\item \textbf{Parametri d'ingresso:} codicePalinsesto, codiceSede

\item \textbf{Descrizione:} Restituisce il corpo della tabella riepilogativa degli spettacoli definiti nella sede per voce di palinsesto.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /admin/getMinutiTotali
\begin{itemize}
\item \textbf{Classe Java:} GetTotaleMinutiProiettoreServlet 


\item \textbf{Descrizione:} Restituisce il numero totale di minuti di utilizzo del proiettore a partire dalla data dell'ultimo intervento.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /admin/updateDataLampadina
\begin{itemize}
\item \textbf{Classe Java:} InterventoManutenzioneProiettoreServlet 


\item \textbf{Descrizione:} Aggiorna un'istanza di Proiettore (solo data lampadina) e crea istanza di InterventoManutenzione.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /admin/updateProiettore
\begin{itemize}
\item \textbf{Classe Java:} UpdateProiettoreServlet 


\item \textbf{Descrizione:} Aggiorna la stanza di un Proiettore.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /admin/aggiorna-sala
\begin{itemize}
\item \textbf{Richiesta:} POST
\item \textbf{Classe Java:} UpdateSalaServlet 
\item \textbf{Parametri d'ingresso:} int idsala, int totaleposti, String csvpoltrone, String sigla, String nome, int codicesede

\item \textbf{Descrizione:} Riceve i dati aggiornati di una sala e tenta un aggiornamento del db. Ritorna i messaggi di log per evidenziare le operazioni di update avvenute con successo e gli errori di quelle non andate a buon fine
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /admin/updateTariffaAbbonamento
\begin{itemize}
\item \textbf{Classe Java:} UpdateTariffaAbbonamentoServlet
\item \textbf{Parametri d'ingresso:} nome, totaleIngressi, prezzoListino

\item \textbf{Descrizione:} Modifica un'istanza di Listino, cioe' un abbonamento
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /admin/updateTariffaBiglietto
\begin{itemize}
\item \textbf{Classe Java:} UpdateTariffaBigliettoServlet 
\item \textbf{Parametri d'ingresso:} in3D, fascia, prezzoListino

\item \textbf{Descrizione:} Modifica un'istanza di Tariffa, tariffa per biglietto singolo
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /admin/updateTecnico
\begin{itemize}
\item \textbf{Classe Java:} UpdateTecnicoServlet 


\item \textbf{Descrizione:} Aggiorna un'istanza di Tecnico.
\end{itemize} 
\end{itemize}

\begin{itemize}
\item \textbf{URL:} /admin/upload-image
\begin{itemize}
\item \textbf{Classe Java:} UploadEventImageServlet	  
\item \textbf{Parametri d'ingresso:} codiceEvento, file immagine caricato dal browser

\item \textbf{Descrizione:} Permette l'aggiornamento della locandina di un evento mediante caricamento di un file JPEG dal browser.
\end{itemize} 
\end{itemize}


